home *** CD-ROM | disk | FTP | other *** search
/ Chip: 2005 Utilities / CHIP Utilities 2005.7z / CHIP Utilities 2005.iso / images / arachne.igz / arachne.img / LEVEL2 / IDLE.CAB / Bin / Idle.bat
DOS Batch File  |  2005-01-16  |  5KB  |  168 lines

  1. @if "%debug%"=="" echo off
  2. if "%1"==":" if not "%2"=="" goto %2
  3. :: Idle Begin ::
  4.  
  5. if not exist %ramdrv%\bin\lmod.com %0 : _error missing lmod.com (check utils.%arcext%)
  6. if not exist %ramdrv%\bin\tfind.com %0 : _error missing tfind.com (check utils.%arcext%)
  7. if not exist %ramdrv%\bin\wbat.com %0 : _error missing wbat.com (check utils.%arcext%)
  8. if not exist %ramdrv%\bin\varset.com %0 : _error missing varset.com (check utilz.%arcext%)
  9.  
  10. :_start
  11. echo. >%tmp%\_idle.tmp
  12. if not exist %ramdrv%\etc\global.set goto _noglob
  13. type %ramdrv%\etc\global.set >%tmp%\_idle.tmp
  14. :_noglob
  15. if not exist %ramdrv%\etc\idle.set goto _nospec
  16. type %ramdrv%\etc\idle.set >%tmp%\_idle.tmp
  17. :_nospec
  18. xgrep -sy "^[:s]*@*[:s]*s?e?t?[:s]*IDLE_.+=" %tmp%\_idle.tmp >%tmp%\_idle.bak
  19. if errorlevel 1 goto _noset
  20. xgrep -sy "^[:s]*@*[:s]*set[:s]+" %tmp%\_idle.bak >%tmp%\_idle.bat
  21. xgrep -syv "^[:s]*@*[:s]*set[:s]+" %tmp%\_idle.bak >%tmp%\_idle.tmp
  22. if errorlevel 1 goto _runset
  23. lmod /L* set []<%tmp%\_idle.tmp >>%tmp%\_idle.bat
  24. :_runset
  25. call %tmp%\_idle.bat
  26. :_noset
  27.  
  28. if "%idle_ti%"=="" set idle_ti=5
  29.  
  30. for %%i in (-c -C) do if "%1"=="%%i" goto _config
  31. if "%1"=="/c" goto _config
  32. if "%1"=="/C" goto _config
  33. for %%i in (-h -H -?) do if "%1"=="%%i" goto _usage
  34. if "%1"=="/h" goto _usage
  35. if "%1"=="/H" goto _usage
  36. if "%1"=="/?" goto _usage
  37.  
  38. if "%idle_ncfg%"=="1" goto _nocfg
  39. set wcb1=%idle_dosbios%
  40. call w.bat box @%0:w_cfg #2,%idle_ti%
  41. if errorlevel 3 goto _end
  42. set idle_dosbios=%wcb1%
  43. if errorlevel 2 goto _config
  44. :_nocfg
  45.  
  46. :_install
  47. if "%idle_dosbios%"=="1" goto _dosbios
  48. echo IDLE: FdApm not installed (no Power saving, no CPU Idle)
  49. goto _end
  50. :_dosbios
  51. echo IDLE: Installing 'FdApm ADV:REG' (Both Dos and Bios saving mode on)
  52. if exist %ramdrv%\bin\snap.com snap.com S=%tmp%\fdapm.bin >%tmp%\nul
  53. fdapm adv:reg
  54. if "%fd%"=="os" if not "%errorlevel%"=="1" echo %errorlevel%
  55. if errorlevel 1 goto _ok
  56. %0 : _error FdApm installation failed
  57. goto _end
  58. :_ok
  59. if not "%idle_bios%"=="1" goto _stats
  60. echo IDLE: Installing 'FdApm ApmBios' (Only Bios saving mode on)
  61. fdapm apmbios
  62. if "%fd%"=="os" if not "%errorlevel%"=="0" echo %errorlevel%
  63. :_stats
  64. fdapm stats
  65. goto _end
  66.  
  67. :_config
  68. echo :w_config "FdApm configuration" [x]>%tmp%\_idle.tmp
  69. echo.>>%tmp%\_idle.tmp
  70. echo Dialog timeout [$ idle_ti,3] seconds.>>%tmp%\_idle.tmp
  71. echo [!] Skip "Run FdApm or go config?" dialog>>%tmp%\_idle.tmp
  72. echo.>>%tmp%\_idle.tmp
  73. echo [.] Install FdApm with Dos and Bios saving mode >>%tmp%\_idle.tmp
  74. echo     (for Power Saving and CPU Idle modes) >>%tmp%\_idle.tmp
  75. echo     [!] Turn off Dos saving mode >>%tmp%\_idle.tmp
  76. echo         (Leave only Bios saving activated) >>%tmp%\_idle.tmp
  77. echo.>>%tmp%\_idle.tmp
  78. echo [.] Do not install FdApm >>%tmp%\_idle.tmp
  79. echo     (No Power saving, no CPU Idle) >>%tmp%\_idle.tmp
  80. echo.>>%tmp%\_idle.tmp
  81. echo             [ Save ]  [? Cancel ]>>%tmp%\_idle.tmp
  82. set wcb1=%idle_ncfg%
  83. set wcb2=%idle_bios%
  84. set wrb=%idle_dosbios%
  85. if not "%idle_dosbios%"=="1" set wrb=2
  86. call w.bat box @%tmp%\_idle.tmp:w_config
  87. if errorlevel 2 goto _end
  88. set idle_ncfg=%wcb1%
  89. set idle_bios=%wcb2%
  90. set idle_dosbios=%wrb%
  91. if not "%wrb%"=="1" set idle_dosbios=0
  92. set t_out=1
  93. call drd.bat %srcdrv%
  94. if errorlevel 1 set t_out=0
  95. wbat box @%0:w_wprot #1,%t_out%
  96. set t_out=
  97. if errorlevel 2 goto _start
  98.  
  99. echo IDLE: Saving configuration...
  100. set | tfind /f1,5 "IDLE_">%tmp%\_idle.bat
  101. if not exist %srcdrv%\etc\*.* mkdir %srcdrv%\etc
  102. if not exist %ramdrv%\etc\global.set goto _yglob
  103. xgrep -syv "^[:s]*@*[:s]*s?e?t?[:s]*IDLE_.+=" %ramdrv%\etc\global.set >>%tmp%\_idle.bat
  104. :_yglob
  105. type %tmp%\_idle.bat >%srcdrv%\etc\global.set
  106. type %tmp%\_idle.bat >%ramdrv%\etc\global.set
  107. if exist %srcdrv%\etc\idle.set del %srcdrv%\etc\idle.set >%tmp%\nul
  108. if exist %ramdrv%\etc\idle.set del %ramdrv%\etc\idle.set >%tmp%\nul
  109. echo IDLE: Configuration saved to %srcdrv%\etc\global.set
  110. echo.
  111. goto _start
  112. :w_cfg "Run FdApm or go config?" [x]
  113.        (~press any key~: #? sec.)
  114.  
  115.   [!] Running FdApm ...
  116.  
  117.   (Power Saving, CPU Idle)
  118.  
  119.   [ Ok ] [ Config ] [? Abort ]
  120. ::
  121. :w_wprot "Disable write protection..." [x]
  122.  
  123.   If the disk in drive %srcdrv% is write
  124.   protected, please disable the write
  125.   protection now in order to save settings.
  126.   You can re-enable write protection after
  127.   saving.
  128.  
  129.             [ Ok ]  [? Cancel ]
  130. ::
  131. :_usage
  132. echo Parameters:
  133. echo -c    Config mode
  134. echo -h    This help info
  135. echo.
  136. goto _end
  137. :_error
  138. shift
  139. shift
  140. echo.
  141. echo IDLE: Error%errorlevel% %1 %2 %3 %4 %5 %6 %7 %8
  142. echo.
  143. @rem pause
  144. goto _end
  145. :_abort
  146. echo IDLE: Aborted...
  147. echo.
  148. @rem pause
  149. :_end
  150. set | tfind /f1,2 "W_" >%tmp%\_idle.tmp
  151. set | tfind /f1,5 "IDLE_" >>%tmp%\_idle.tmp
  152. type %tmp%\_idle.tmp | lmod /L* /B= set [$1]=>%tmp%\_idle.bat
  153. call %tmp%\_idle.bat
  154. if exist %tmp%\_idle.* del %tmp%\_idle.*
  155. set ?=
  156. set wcb1=
  157. set wcb2=
  158. set wcb3=
  159. set wcb4=
  160. set wcb5=
  161. set wcb6=
  162. set wcb7=
  163. set wcb8=
  164. set wcb9=
  165. set wrb=
  166. set wbat=
  167. :: Idle End ::
  168.